package cn.edu.zut.internship.iservice.notify;

import cn.edu.zut.internship.bean.sys.Result;

import java.util.Map;

public interface NotifySV {
    /**
     * 根据消息Id获取消息内容
     *
     * @return
     */
    Result getNotifyById(Long notifyId);

    /**
     * 列表查询所有的消息
     *
     * @param params
     * @return
     */
    Result selectNotify(Map params);

    /**
     * 新增消息
     *
     * @param params
     * @return
     */
    Result addNotify(Map params);

    /**
     * 删除一条消息
     *
     * @param notifyId
     * @return
     */
    Result delectNotify(Long notifyId);

    /**
     * 更新一条消息
     *
     * @param params
     * @return
     */
    Result updateNotify(Map params);

    /**
     * 根据用户名获取未读消息总数
     * @param userAccount
     * @return
     */
    Result getNotifyNum(String userAccount);

    /**
     * 删除用户所有消息
     * @param userAccount
     * @return
     */
    Result deleteAll(String userAccount);
    /**
     * 标记用户所有消息为已读
     * @param userAccount
     * @return
     */
    Result redAll(String userAccount);
    /**
     * 标记一条消息为已读
     * @param params
     * @return
     */
    Result redNotify(Map params);

    /**
     * 提醒管理员审核实训单位
     * @param params
     * @return
     */
    Result remindAdmin(Map params);
}
